var http = require('http')
var fs = require('fs')

// 1. 创建Server
var server = http.createServer()

// 2.监听server的request请求事件，设置请求处理函数
// 请求
// 处理
// 响应
// 一个请求对应一个响应，如果在一个请求的过程中，已经结束响应了，则不能重复发送响应

// 我们以前使用过Apache服务器软件，这个软件默认有一个www目录，所有存放在www目录中的资源都可以通过网址来浏览
// 127.0.0.1:80/a.txt
// 127.0.0.1:80/index.html
// 127.0.0.1:80/app/index.html

var wwwDir = 'D:/app/www'

server.on('request', function (request, response) {
    console.log(request.url)
    var url = request.url
    // if (url === '/') {
    //     response.end('hello world')
    // } else {
    //     response.end('404 Not Found')
    // }
    if(url === '/') {
        fs.readFile(wwwDir + '/index.html',function(err,data){
            if(err) { // 找不到文件就报错
                response.end('404 Not Found') // 可以设计一张报错页面，此处文字代替
            }
            response.end(data)
            // 还可以这么写
            // return有两个作用: 1.方法返回值 2.阻止代码继续往后执行
            // if(err) {
            //    return response.end('404 Not Found')
            // }
        })
    } else if(url === '/a.txt') {
        fs.readFile(wwwDir + '/a.txt',function(err,data){
            // response.setHeader('Content-Type', 'text/plain;charset=utf-8') // 发送的是普通文本，编码是utf-8
            if(err) {
                response.end('404 Not Found')
            }
            response.end(data) // 如果没有response.setHeader的话，此处会乱码
        })
    } else if (url === '/index.html') {
        fs.readFile(wwwDir + '/index.html',function(err,data){
            if(err) {
                response.end('404 Not Found')
            }
            response.end(data)
        })
    } else if(url === '/apple/login.html') {
        fs.readFile(wwwDir + '/apple/login.html',function(err,data){
            if(err) {
                response.end('404 Not Found')
            }
            response.end(data)
        })
    }
})

// 3.绑定端口号，启动服务
server.listen(3000, function () {
    console.log('server is running ... ')
})